﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum РезультатыИспытательногоСрока
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"126f854a-f50b-4012-a4cf-f31274e8c236\", \"Представление\":\"Положительный\"}")]
		Положительный = 0,
		[EnumMember(Value = "{\"Ссылка\":\"1f00de0b-52ec-47c0-b366-69dfc7e6590f\", \"Представление\":\"Отрицательный\"}")]
		Отрицательный = 1,
		[EnumMember(Value = "{\"Ссылка\":\"4a1c5603-6e39-447f-a248-cdd288ebca27\", \"Представление\":\"Продлен\"}")]
		Продлен = 2,
	}
	public static partial class РезультатыИспытательногоСрока_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid Положительный = new Guid("12f3cfa4-e874-36c2-4012-f50b126f854a");
		public static readonly Guid Отрицательный = new Guid("df6966b3-e6c7-0f59-47c0-52ec1f00de0b");
		public static readonly Guid Продлен = new Guid("d2cd48a2-eb88-27ca-447f-6e394a1c5603");
		public static РезультатыИспытательногоСрока Получить(this РезультатыИспытательногоСрока Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static РезультатыИспытательногоСрока Получить(this РезультатыИспытательногоСрока Значение, Guid Ссылка)
		{
			if(Ссылка == Положительный)
			{
				return РезультатыИспытательногоСрока.Положительный;
			}
			else if(Ссылка == Отрицательный)
			{
				return РезультатыИспытательногоСрока.Отрицательный;
			}
			else if(Ссылка == Продлен)
			{
				return РезультатыИспытательногоСрока.Продлен;
			}
			return РезультатыИспытательногоСрока.ПустаяСсылка;
		}
		public static byte[] Ключ(this РезультатыИспытательногоСрока Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this РезультатыИспытательногоСрока Значение)
		{
			switch (Значение)
			{
				case РезультатыИспытательногоСрока.Положительный: return Положительный;
				case РезультатыИспытательногоСрока.Отрицательный: return Отрицательный;
				case РезультатыИспытательногоСрока.Продлен: return Продлен;
			}
			return Guid.Empty;
		}
	}
}